package com.openlogic.datasource.api.param;

import java.io.Serializable;
import java.util.Map;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * @ClassName: ConnectionParam
 * @Description: 数据源连接参数模型实体
 * @author weiyongpeng
 * @date 2025年1月23日 下午9:00:04
 */
@JsonInclude(value = Include.NON_NULL)
public class ConnectionParam implements Serializable {

	public ConnectionParam() {
		super();
	}

	public ConnectionParam(String user, String password, String address, String database, String jdbcUrl,
			String driverLocation, String driverClassName, String validationQuery, String connectTypes, String other,
			Map<String, String> props) {
		super();
		this.user = user;
		this.password = password;
		this.address = address;
		this.database = database;
		this.jdbcUrl = jdbcUrl;
		this.driverLocation = driverLocation;
		this.driverClassName = driverClassName;
		this.validationQuery = validationQuery;
		this.connectTypes = connectTypes;
		this.other = other;
		this.props = props;
	}

	private static final long serialVersionUID = 1L;

	protected String user;

	protected String password;

	protected String address;

	protected String database;

	protected String jdbcUrl;

	protected String driverLocation;

	protected String driverClassName;

	protected String validationQuery;

	@JsonProperty(value = "connectType")
	protected String connectTypes;

	protected String other;

	protected Map<String, String> props;

	public String getUser() {
		return user;
	}

	public void setUser(String user) {
		this.user = user;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getDatabase() {
		return database;
	}

	public void setDatabase(String database) {
		this.database = database;
	}

	public String getJdbcUrl() {
		return jdbcUrl;
	}

	public void setJdbcUrl(String jdbcUrl) {
		this.jdbcUrl = jdbcUrl;
	}

	public String getDriverLocation() {
		return driverLocation;
	}

	public void setDriverLocation(String driverLocation) {
		this.driverLocation = driverLocation;
	}

	public String getDriverClassName() {
		return driverClassName;
	}

	public void setDriverClassName(String driverClassName) {
		this.driverClassName = driverClassName;
	}

	public String getValidationQuery() {
		return validationQuery;
	}

	public void setValidationQuery(String validationQuery) {
		this.validationQuery = validationQuery;
	}

	public String getOther() {
		return other;
	}

	public void setOther(String other) {
		this.other = other;
	}

	public Map<String, String> getProps() {
		return props;
	}

	public void setProps(Map<String, String> props) {
		this.props = props;
	}

	public String getConnectTypes() {
		return connectTypes;
	}

	public void setConnectTypes(String connectTypes) {
		this.connectTypes = connectTypes;
	}

}
